1. Technical Field
This invention relates generally to methods and systems for controlling the ignition timing of an internal combustion engine and more particularly to methods and systems for reducing engine knock during rapidly changing operating conditions (i.e., during rapid transients).
2. Background of the Invention
As is known in the art, it is desirable for an internal combustion engine to determine a spark advance parameter based on an estimate of cylinder air charge. The spark advance parameter generally represents the angle of the crankshaft at which the spark is fired in the combustion chamber. By accurately determining and using the spark advance parameter, fuel economy can be increased and engine knock can be avoided.
Under normal operating conditions, spark timing is based on Minimum spark advance for Best Torque (MBT) considerations. MBT is the spark timing providing peak power and fuel economy. During a rapid change in acceleration, however, often referred to as a tip-in event or a rapid transient, engine knock may be experienced if using MBT as the sole criteria for spark timing.
As is known in the art, borderline spark timing is also determined in response to a tip-in event. Borderline spark timing is spark timing which avoids knock. Borderline spark timing is retarded, with respect to MBT timing. It should be noted that both the MBT based spark timing and the borderline base timing are a function of cylinder air charge.
One technique used to reduce engine spark knock during a rapid transient, i.e., tip-in, is described in U. S. Pat. No. 5,445,127, xe2x80x9cMethod and System for Reducing Engine Spark Knock During a Rapid Transientxe2x80x9d, inventors Cullen et al., issued Aug. 29, 1995, assigned to the same assignee as the present invention, the entire subject matter thereof being incorporated herein by reference.
In one known system, the borderline spark timing calculation is performed along with the MBT based timing calculation at regular time intervals, i.e., background computational events. The computations are performed using tables stored in a memory used in the engine control unit, sometimes referred to as the Engine Control Unit (ECU). An example of such tables used to determine borderline timing is shown in FIG. 2. A similar set of tables is used to determine MBT based timing. Thus, referring to FIG. 2, TABLE I, provides a base borderline spark timing for a cylinder approaching top dead center (TDC), here indicated as Base Borderline (BDL) for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis).
TABLES II through VIII are modifier tables which store data used to modify the base borderline spark timing of TABLE I. TABLE II shows swirl valve modifiers (Intake Manifold Runner Control (IMRC) modifiers) for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE II at such condition is multiplied by an a priori determined IMRC constant and the product is added to the Base BDL determined from TABLE I.
TABLE III shows cam position modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE III at such condition is multiplied by the cam angle of the cylinder to be fired and the product is also added to the Base BDL determined from TABLE I.
TABLE IV shows Engine Coolant Temperature (ECT) modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE IV at such condition is multiplied by a number which is a stored function of measure ECT and the product is also added to the Base BDL determined from TABLE I.
TABLE V shows Air Temperature (ACT) modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE V at such condition is multiplied by a number which is a stored function of measure ACT and the product is also added to the Base BDL determined from TABLE I.
TABLE VI shows Cylinder Head Temperature (Cht) modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE VI at such condition is multiplied by a number which is a stored function of measure Cht (Cylinder head Temperature) and the product is also added to the Base BDL determined from TABLE I. The Cht values are not used during normal operation. They are only used during failure mode management for a loss of engine coolant.
TABLE VII shows xe2x80x9cLugging timexe2x80x9d modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE VI at such condition is multiplied by a number which is a stored function of measure xe2x80x9cLugging timexe2x80x9d and the product is also added to the Base BDL determined from TABLE I. xe2x80x9cLugging timexe2x80x9d refers to the elapsed time following a large increase in air charge, i.e. the elapsed time following a heavy tip-in event.
TABLE VIII shows xe2x80x9cOctane adjustmentxe2x80x9d modifiers for a relationship between cylinder air charge, here also referred to as load, (i.e., the Y-axis) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and air charge, the value stored in the TABLE VI at such condition is multiplied by an xe2x80x9cOctane Adjustmentxe2x80x9d constant and the product is also added to the Base BDL determined from TABLE I. The xe2x80x9cOctane Adjustmentxe2x80x9d constant is normally set to xe2x80x980,xe2x80x99 in the absence of octane information. However, it may set to a non-zero value to adjust for different fuel Octane levels, should such octane data be available. Alternatively, it may also be set to a non-zero value in the event of that a knock sensor becomes inoperable.
Other non-speed and air charge based modifiers are also added to the Base BDL determined from TABLE I. The summation is referred to as xe2x80x9cBorderline Sparkxe2x80x9d.
TABLE IX shows Engine Coolant Temperature (ECT) modifiers for a relationship between Air Temperature (ACT) as a function of engine speed, N, (i.e., the X-axis). Thus, for a particular engine speed and ACT, the value stored in the TABLE IX at such condition is multiplied by a number which is a stored function of measured ECT and the product is the xe2x80x9cTip-in Slopexe2x80x9d.
While ideally the table information described above should be calculated for each cylinder firing event, typically it is done once every 100 milliseconds to reduce the processing load on the ECU. Therefore, in accordance with the prior art, xe2x80x9cBorderline Sparkxe2x80x9d and xe2x80x9cTip-in Slopexe2x80x9d computations are made at a background computational rate, every 100 milliseconds, for example. Estimates are made for xe2x80x9cTip-inxe2x80x9d timing at each cylinder firing event; i.e., at a foreground computational rate, one each cylinder firing event. Thus, these estimates are made at the foreground computational rate.
More particularly, for each cylinder firing event during a tip-in, the xe2x80x9cTip-inxe2x80x9d spark timing is equal to the summation of: xe2x80x9cBorderline Sparkxe2x80x9d determined as described above at the for example, once every 100 millisecond (i.e., at the xe2x80x9cbackground computational ratexe2x80x9d); and, the product of xe2x80x9cTip-in Slopexe2x80x9d, also computed at the background computational rate, and xe2x80x9cxcex94 Air Chargexe2x80x9d, where xe2x80x9cxcex94 Air Chargexe2x80x9d is the change in air charge since the last background computational event and where xe2x80x9cTip-in Slopexe2x80x9d is determined from a TABLE IX at the foreground cylinder firing rate.
That is, at the background computational rate, xe2x80x9cBorderline Sparkxe2x80x9d is calculated by summing the values as a function of the current engine speed and current air charge, as described above in connection with TABLES VIII. Also, at the background computational rate, the Tip-inxe2x80x9d slope is calculated, as described above in connection with TABLE IX. In between the background computational times, i.e., at the cylinder firing a rate, a Tip-in spark timing value is calculated by multiplying the xe2x80x9ctip-inxe2x80x9d slope by the change in cylinder air charge since the last background computational time and adding the product to the xe2x80x9cBorderline Sparkxe2x80x9d calculated at the last background computational time.
Thus, in summary, in the prior art, a slope of tip-in timing as a function of air charge change made at the background rate is multiplied by a change in air charge associated with the current cylinder firing. These multiplication product computations are made at the higher foreground computational rate. The product is added to the borderline timing calculated from the last background computation. The most retarded timing of a group of timings which includes tip-in timing, MBT timing and Borderline timing, is used for the actual timing for the next cylinder firing.
While such method provides knock compensation for a tip-in event, the inventors having made certain observation, described below, which enable a more accurate computation of spark timing. More particularly, the inventors having made certain observations, described below, enabling spark timing computations at the cylinder firing rates using air change measurements taken at such cylinder firing rates.
In accordance with the present invention, a method for controlling spark timing in an internal combustion engine is provided. The method includes determining background borderline spark timing at a background computational rate. The borderline spark timing is a function of determined air charge and engine speed. The method determines foreground borderline spark timing at a higher, foreground computational rate. The foreground borderline spark timing is a function of air charge determined at the foreground computational rate and engine speed measured at the background computational rate.
The inventors have recognized that engine speed change is small between background computation rate updates, i.e., during cylinder events occurring between background computational events. Thus, borderline timing can be updated at the cylinder event firing rate (i.e., at the foreground rate) using only air charge determined at the foreground computational rate instead of using both engine speed and air charge.
More particularly, the MBT based spark timing and the Borderline Timing are calculated at the background computational rate as a function of engine speed and cylinder air charge from data in an MBT based table and a borderline spark timing based table, respectively. Also, a one-dimensional table of borderline timing is generated comprising data in the borderline spark timing table at the engine speed existing at the time of such background calculations. The one-dimensional table provides a relationship between borderline timing and air charge for the engine speed existing at the time of such background calculations. For each cylinder firing during a tip-in event, (i.e., at a foreground computational rate higher than the background computational rate) a borderline spark timing is determined from the one-dimensional table in response to air charge determined at the foreground computational rate and subsequent to a calculation made at the background computational rate. The tip-in spark timing value is set equal to this foreground borderline spark timing calculation. The most retarded of a group of sparking timing values comprising: MBT based timing; borderline spark timing, and tip-in timing is used as the final spark timing signal for the engine.
To put it another way, according to the invention, it is assumed that the engine speed will not change significantly between successive background computations. Therefore, a one-dimensional table is formed, such table providing borderline timing data as a function of air charge. The data are obtained for the engine speed condition at the last background computation. The data in the one-dimensional table data are used at succeeding foreground rates to provide the borderline timing for the next cylinder firing. The most retarded of a group of timings which includes MBT timing, Borderline timing, and Tip-in timing is used for the actual timing for the next cylinder firing.
In accordance with one embodiment the foreground borderline spark timing is determined in response to a tip-in event.
In accordance with another feature of the invention, a method is provided for controlling spark timing in an internal combustion engine. The method includes providing a plurality of tables. Each one of such tables provides borderline timing data contributors for each of a corresponding one of a plurality of different engine operating conditions. The borderline timing contributors in each one of the tables being a function of engine speed and air charge. The method determines background borderline spark timing at a background computational rate. The borderline spark timing is determined from a summation of the borderline timing data in the plurality of tables data in the plurality of tables at engine speed measured at the borderline computational rate and air charge determined at the borderline computational rate. The method provides a one-dimensional table. The one-dimensional table has borderline timing data contributors extracted from the plurality of provided tables. The extracted borderline timing data contributors being for the engine speed measured at the borderline computational rate and the air charge determined at the borderline computational rate. The method determines from the one-dimensional table foreground borderline spark timing at a higher, foreground computational rate. The foreground borderline spark timing is a function of air charge determined at the foreground computational rate and engine speed measured at the background computational rate. The tip-in spark timing is set equal to this foreground borderline spark timing calculation.
In one embodiment, the foreground computational rate is the firing rate of cylinders in the engine.
In one embodiment, foreground borderline spark timing is determined in response to a tip-in event.
In one embodiment engine spark plug timing is a most retarded timing of a group of spark timings, such group including tip-in timing, MBT timing and the foreground borderline timing.
The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.